package com.regulareport.form.mapper;

import com.regulareport.common.core.domain.entity.ReportTemplateProgramDefinition;

import java.util.List;

/**
 * 银监模板项目名称定义Mapper接口
 * 
 * @author ruoyi
 * @date 2025-09-18
 */
public interface ReportTemplateProgramDefinitionMapper 
{

    /**
     * 查询银监模板项目名称定义
     * 
     * @param pkId 银监模板项目名称定义主键
     * @return 银监模板项目名称定义
     */
    public ReportTemplateProgramDefinition selectReportTemplateProgramDefinitionByPkId(Long pkId);

    /**
     * 查询银监模板项目名称定义列表
     * 
     * @param reportTemplateProgramDefinition 银监模板项目名称定义
     * @return 银监模板项目名称定义集合
     */
    public List<ReportTemplateProgramDefinition> selectReportTemplateProgramDefinitionList(ReportTemplateProgramDefinition reportTemplateProgramDefinition);

    /**
     * 新增银监模板项目名称定义
     * 
     * @param reportTemplateProgramDefinition 银监模板项目名称定义
     * @return 结果
     */
    public int insertReportTemplateProgramDefinition(ReportTemplateProgramDefinition reportTemplateProgramDefinition);

    /**
     * 修改银监模板项目名称定义
     * 
     * @param reportTemplateProgramDefinition 银监模板项目名称定义
     * @return 结果
     */
    public int updateReportTemplateProgramDefinition(ReportTemplateProgramDefinition reportTemplateProgramDefinition);

    /**
     * 删除银监模板项目名称定义
     * 
     * @param pkId 银监模板项目名称定义主键
     * @return 结果
     */
    public int deleteReportTemplateProgramDefinitionByPkId(Long pkId);


    /**
     * 批量删除银监模板项目名称定义
     * 
     * @param pkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteReportTemplateProgramDefinitionByPkIds(Long[] pkIds);

    /**
     * 批量新增银监模板项目名称定义
     *
     * @param definitionList 模板项目名称定义集合
     * @return 结果
     */
    public int batchInsertReportTemplateProgramDefinition(List<ReportTemplateProgramDefinition> definitionList);
}
